<?php
/*
* Class teia\webdev\php\core\IProcessDataSource
* Core class for providing division of content into discrete process pages
*
* @author Bernardo Quibiana
* @date created: 20111202
*
* @date modified: 20111202
* @modified: Bernardo Quibiana
*/

// namespace declaration: Abstract Data Types
namespace teia\webdev\php\core;

interface IProcessDataSource {
	/*
	* Data
	*/
	
	/**
	 * Return the total number of stages to display
	 * @return number number of stages in the process
	 */
	public function get_num_stages();
	
	/**
	 * Return the name of the stages to display
	 * @return array string array with name of the stages
	 */
	public function get_stages_name();
	
	/**
	 * Return the number of items to display in the specified stage
	 * @param string $stage name of the target stage
	 * @return number the number of items to display in the target stage
	 */
	public function get_stage_size($stage);
	
	
	/**
	 * Return the content of the specified item to display
	 * @param number $it_num index of the item in the stage
	 * @param string $stage name of target stage
	 * @return string content of the item to display
	 */
	public function get_item_content($it_num, $stage);
	
	/**
	 * Return the content of the specified page number to display
	 * @param string $stage name of the target stage
	 * @return string text content to display
	 */
	public function get_stage_content($stage);
}

?>